package org.tis.tools.senior.module.developer.service;

import com.baomidou.mybatisplus.service.IService;
import org.tis.tools.senior.module.developer.controller.request.DeliveryListAndDeliveryAddRequest;
import org.tis.tools.senior.module.developer.controller.request.DeliveryListSelectRequest;
import org.tis.tools.senior.module.developer.controller.request.DeliveryListSuperadditionRequest;
import org.tis.tools.senior.module.developer.entity.SDelivery;
import org.tis.tools.senior.module.developer.entity.SDeliveryList;
import org.tis.tools.senior.module.developer.entity.vo.DeliveryListStashListDetail;
import org.tis.tools.senior.module.developer.entity.vo.FileUsedList;
import org.tmatesoft.svn.core.SVNException;

import java.text.ParseException;
import java.util.List;

/**
 * sDeliveryList的Service接口类
 * 
 * @author Auto Generate Tools
 * @date 2018/06/20
 */
public interface ISDeliveryListService extends IService<SDeliveryList>  {


    /**
     * 组装投放清单展示
     *
     * @return
     */
    DeliveryListStashListDetail assembleDelivery(String branchGuid) throws SVNException;

    /**
     * 添加投放申请和投产代码清单
     * @param request
     */
    List<SDelivery> addDeliveryList(DeliveryListAndDeliveryAddRequest request, String proposer) throws SVNException, ParseException;

    /**
     * 根据投放申请guid查询对应的代码清单
     * @param guidDelivery
     * @return
     */
    List<SDeliveryList> selectDeliveryListExcel(List<Integer> guidDelivery);

    /**
     * 追加投放申请
     * @param request
     */
    List<SDelivery> addToDeliveryList(DeliveryListSuperadditionRequest request) throws SVNException;

    /**
     * 根据文件查询同时在修改该文件的所有工作项等信息
     * @param fileName
     * @return
     */
    List<FileUsedList> selectListByFileName(DeliveryListSelectRequest fileName);

    /**
     *根据工作项查询文件名称
     * @param guidWrkItem
     * @return
     */
    List<FileUsedList> selectListByWorkItem(String guidWrkItem);

    /**
     *根据环境查询工作项
     * @param guidProfiles
     * @return
     */
    List<FileUsedList> selectListByProfiles(String guidProfiles);
}

